package ${baseInfo.packageName};

import com.fa4j.common.base.model.RemoveCmd;
import ${domain.packageName}.${domain.fileName};
import ${createCmd.packageName}.${createCmd.fileName};
import ${modifyCmd.packageName}.${modifyCmd.fileName};
import jakarta.validation.Valid;

/**
 * ${tableClass.remark} 服务接口
 *
 * @since ${.now?string('yyyy-MM-dd HH:mm:ss')}
 */
public interface ${baseInfo.fileName} {

    /**
     * 新增${tableClass.remark}
     *
     * @param cmd 新增参数
     * @return ${tableClass.remark}
     */
    ${domain.fileName} create(@Valid ${createCmd.fileName} cmd);

    /**
     * 编辑${tableClass.remark}
     *
     * @param cmd 编辑参数
     * @return ${tableClass.remark}
     */
    ${domain.fileName} modify(@Valid ${modifyCmd.fileName} cmd);

    /**
     * 删除${tableClass.remark}
     *
     * @param cmd 删除参数
     * @return ${tableClass.remark}
     */
    ${domain.fileName} remove(@Valid RemoveCmd<${tableClass.pkFields[0].shortTypeName}> cmd);

}